/**
 * 项目服务
 * 提供项目相关的业务逻辑服务
 */

class ProjectService {
  /**
   * 根据项目类型获取表单配置
   * @param {String} projectType 项目类型
   * @returns {Object} 表单配置
   */
  static getProjectFormConfig(projectType) {
    // 默认表单配置
    const defaultConfig = {
      showBasicFields: true,
      showControlFields: true,
      showProtectionFields: true,
      showPowerFields: true
    };
    
    // 根据项目类型返回不同的表单配置
    switch (projectType) {
      case '霍尔':
        return {
          ...defaultConfig,
          showHallFields: true
        };
      case '磁编':
        return {
          ...defaultConfig,
          showEncoderFields: true
        };
      case '风机':
        return {
          ...defaultConfig,
          showFanFields: true
        };
      case '水泵':
        return {
          ...defaultConfig,
          showPumpFields: true
        };
      default:
        return defaultConfig;
    }
  }
  
  /**
   * 获取分类名称
   * @param {Number|String} cate 分类代码
   * @returns {String} 分类名称
   */
  static getCateName(cate) {
    const cateMap = {
      0: '电机控制类',
      1: '霍尔类',
      2: '磁编类',
      3: '工控类',
      4: '其他类型'
    };
    
    if (typeof cate === 'string' && !isNaN(cate)) {
      cate = parseInt(cate);
    }
    
    return cateMap[cate] || '未知分类';
  }
  
  /**
   * 获取优先级名称
   * @param {Number|String} priority 优先级代码
   * @returns {String} 优先级名称
   */
  static getPriorityName(priority) {
    const priorityMap = {
      'low': '低',
      'normal': '中',
      'high': '高',
      'urgent': '紧急',
      0: '低',
      1: '中',
      2: '高',
      3: '紧急'
    };
    
    return priorityMap[priority] || '中';
  }
}

module.exports = ProjectService; 